1. Field of the Invention
The present invention relates to the field of memory systems, and in particular memory systems that employ a refresh operation.
2. Discussion of Related Art
It is well known in the art that various types of personal computers, such as desktop computers and battery-operated notebook computers, include a central processing unit (CPU) and a main memory to which the central processing unit accesses. The central processing unit executes programs loaded on the main memory, and sequentially writes the results obtained by program execution into work areas in banks of the main memory so that the computer processing is performed.
The main memory is composed of a random access memory (RAM), such as SRAM (static RAM) and DRAM (dynamic RAM). For the main memory, DRAM is generally used because DRAM has a simple cell structure and is cheaper. Accordingly, the discussion to follow will concentrate on known DRAM memory systems.
DRAM memory cells in the main memory are arranged as a matrix. In order to address memory cells individually, first, an Activate Command is issued with a row address, and then, read or write commands are issued with the column address. In the DRAM memory cells, data are stored as electric charges on a capacitor. Thus, when data are written to the memory cells and are left for an extended period of time, the charges leak from the capacitor and the stored data are lost. To prevent such data loss, the written data needs to be refreshed/rewritten at predetermined time intervals.
Known refresh operations include accessing a specific memory cell row to refresh all of the cells along that row. In order to refresh all of the row addresses, a refresh address counter is required that designates refresh addresses sequentially. In addition, the known refresh operations provide either a refresh cycle or issue a refresh request at a predetermined period of time.
One known method to refresh the memory contents is to serially access all rows with an activate—precharge command-sequence. For this method, a refresh address counter designates refresh row addresses that must be provided from outside the memory.
A second known refresh operation is generally known as autorefresh where a refresh request is supplied to the memory by sending an Autorefresh command. The refresh addresses are generated by an address counter within the DRAM such that no external address counter is required.
A third known refresh operation is self-refresh, which allows the data in the DRAM to be refreshed even while the rest of the system is powered down. During self-refresh an internal timing circuit and an internal address counter generate the refresh operations for all rows in time intervals sufficiently short to keep the stored data intact. This allows for very low power consumption since the time-intervals between refreshes can be optimized and all other circuits can be powered down.
FIG. 1 is a schematic diagram illustrating the arrangement of a known computer system 100 that has both the normal refresh function and the self-refresh function. A DRAM device 102, including a DRAM array_103, and a memory controller unit 104 are connected to each other by a bus 106 and an I/O device 108. Outside the DRAM device 102 are provided a normal refresh circuit 110, which forms a part of the memory controller unit 104 that performs a refresh operation while the memory controller unit 104 is accessing the memory, and a global clock 112. Inside the DRAM device 102 are provided a self-refresh circuit 114 that performs a relatively slow refresh operation, and an internal timing generator 116 that supplies a relatively long interval signal to the self-refresh circuit 114. In addition, a switch 118 is provided to select either the normal refresh circuit 110 or the self-refresh circuit 114 for refreshing the DRAM device 102.
Should the switch 118 select the self-refresh circuit 114, then as previously described the known method of self-refresh is used to refresh all banks within the DRAM array 103 at the same time or to program externally which banks or parts of banks are refreshed. This can lead to situations where banks are refreshed which do not need to be refreshed since their contents are irrelevant. This is assumed to be the case if data has never been written into a bank. Due to the fact that each refresh sequence of activating and precharging a row-address costs energy, such unnecessary refresh operations cause unnecessary power consumption.